package com.swak.entity;

/**
 * 事件,配合可靠消息来构建需要发送的消息
 * 
 * @author 618lf
 */
@Deprecated
public interface Event<PK> {

	/**
	 * 事件的主键
	 * 
	 * @return
	 */
	default PK getId() {
		return null;
	}

	/**
	 * 构建可靠消息 -- 携带的事件对象
	 * 
	 * @return
	 */
	default Object build(Byte type) {
		PK id = this.getId();
		if (id != null) {
			return EventDTO.of().setId(id).setType(type);
		}
		return null;
	}
}